package jp.co.nes.awssupport.common.bean;

import java.math.BigDecimal;
import java.time.ZonedDateTime;

/**
 * 日次集計結果です。
 */
public class DailyCompiledBillingBean extends BaseBean {

    /** serialVersionUID */
    private static final long serialVersionUID = 1L;

    /** UUID */
    private String uuid;

    /** 連結アカウントID */
    private String linkedAccountId;

    /** 年月 */
    private int yearMonth;

    /** 製品名 */
    private String productName;

    /** 使用タイプ */
    private String usageType;

    /** 使用開始日時 */
    private ZonedDateTime usageStartDate;

    /** 使用終了日時 */
    private ZonedDateTime usageEndDate;

    /** リソースID */
    private String resourceId;

    /** Nameタグ */
    private String nameTag;

    /** スポット管理フラグ */
    private String spotManageFlg;

    /** 適用レート */
    private BigDecimal rate;

    /** 使用合計量 */
    private BigDecimal usageQuantity;

    /** 説明 */
    private String description;

    /** 単位 */
    private String unit;

    /**
     * デフォルトコンストラクタです。
     */
    public DailyCompiledBillingBean() {
    }

    /**
     * UUIDを返却します。
     *
     * @return UUID
     */
    public String getUuid() {
        return uuid;
    }

    /**
     * UUIDを設定します。
     *
     * @param uuid UUID
     */
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    /**
     * 連結アカウントIDを返却します。
     *
     * @return 連結アカウントID
     */
    public String getLinkedAccountId() {
        return linkedAccountId;
    }

    /**
     * 連結アカウントIDを設定します。
     *
     * @param linkedAccountId 連結アカウントID
     */
    public void setLinkedAccountId(String linkedAccountId) {
        this.linkedAccountId = linkedAccountId;
    }

/**
     * 年月を返却します。
     *
     * @return 年月
     */
    public int getYearMonth() {
        return yearMonth;
    }

    /**
     * 年月を設定します。
     *
     * @param yearMonth 年月
     */
    public void setYearMonth(int yearMonth) {
        this.yearMonth = yearMonth;
    }

    /**
     * 製品名を返却します。
     *
     * @return 製品名
     */
    public String getProductName() {
        return productName;
    }

    /**
     * 製品名を設定します。
     *
     * @param productName 製品名
     */
    public void setProductName(String productName) {
        this.productName = productName;
    }

    /**
     * 使用タイプを返却します。
     *
     * @return 使用タイプ
     */
    public String getUsageType() {
        return usageType;
    }

    /**
     * 使用タイプを設定します。
     *
     * @param usageType 使用タイプ
     */
    public void setUsageType(String usageType) {
        this.usageType = usageType;
    }

    /**
     * 使用開始日時を返却します。
     *
     * @return 使用開始日時
     */
    public ZonedDateTime getUsageStartDate() {
        return usageStartDate;
    }

    /**
     * 使用開始日時を設定します。
     *
     * @param usageStartDate 使用開始日時
     */
    public void setUsageStartDate(ZonedDateTime usageStartDate) {
        this.usageStartDate = usageStartDate;
    }

    /**
     * 使用終了日時を返却します。
     *
     * @return 使用終了日時
     */
    public ZonedDateTime getUsageEndDate() {
        return usageEndDate;
    }

    /**
     * 使用終了日時を設定します。
     *
     * @param usageEndDate 使用終了日時
     */
    public void setUsageEndDate(ZonedDateTime usageEndDate) {
        this.usageEndDate = usageEndDate;
    }

    /**
     * リソースIDを返却します。
     *
     * @return リソースID
     */
    public String getResourceId() {
        return resourceId;
    }

    /**
     * リソースIDを設定します。
     *
     * @param resourceId リソースID
     */
    public void setResourceId(String resourceId) {
        this.resourceId = resourceId;
    }

    /**
     * Nameタグを返却します。
     *
     * @return Nameタグ
     */
    public String getNameTag() {
        return nameTag;
    }

    /**
     * Nameタグを設定します。
     *
     * @param nameTag Nameタグ
     */
    public void setNameTag(String nameTag) {
        this.nameTag = nameTag;
    }

    /**
     * スポット管理フラグを返却します。
     *
     * @return スポット管理フラグ
     */
   public String getSpotManageFlg() {
       return spotManageFlg;
   }

   /**
    * スポット管理フラグを設定します。
    *
    * @param spotManageFlg スポット管理フラグ
    */
   public void setSpotManageFlg(String spotManageFlg) {
       this.spotManageFlg = spotManageFlg;
   }

    /**
     * 適用レートを返却します。
     *
     * @return 適用レート
     */
    public BigDecimal getRate() {
        return rate;
    }

    /**
     * 適用レートを設定します。
     *
     * @param rate 適用レート
     */
    public void setRate(BigDecimal rate) {
        this.rate = rate;
    }

    /**
     * 使用合計量を返却します。
     *
     * @return 使用合計量
     */
    public BigDecimal getUsageQuantity() {
        return usageQuantity;
    }

    /**
     * 使用合計量を設定します。
     *
     * @param usageQuantity 使用合計量
     */
    public void setUsageQuantity(BigDecimal usageQuantity) {
        this.usageQuantity = usageQuantity;
    }

    /**
     * 説明を返却します。
     *
     * @return 説明
     */
    public String getDescription() {
        return description;
    }

    /**
     * 説明を設定します。
     *
     * @param description 説明
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 単位を返却します。
     *
     * @return 単位
     */
    public String getUnit() {
        return unit;
    }

    /**
     * 単位を設定します。
     *
     * @param unit 単位
     */
    public void setUnit(String unit) {
        this.unit = unit;
    }
}
